﻿/*-------------------------------------
//
//Copyright (C) 2007 开发二组 版权所有。
//
//文件名：Cart.ascx.cs
//
//
//文件功能描述：显示顾客(匿名,注册)用户购物车中商品的种类和所有商品的总价格..
//
//
//创建标识：2007.11.16 王勇
//创建描述：对购物车的部分描述..
//
//------------------------------------*/
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;


public partial class Common_Controls_Cart : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //第一次加载页面显示信息
            DisplayCartInfo();
        }
    }

   
    /// <summary>
    /// 显示购物车的大概信息,有商品的种类，商品的总价格
    /// </summary>
    protected void DisplayCartInfo()
    {
        if (Session["CustomerID"] != null)
        {
            if (Session["CustomerID"].ToString() != "CUS-00000000")
            {

                //注册顾客从数据库中取出
                try
                {
                    //服务操作的类
                    localhost.CartService myOperate = new localhost.CartService();

                    //从数据库中获取注册顾客的购物车信息
                    DataSet dsCart = myOperate.GetProductList(Session["CustomerID"].ToString());

                    if (dsCart != null)
                    {
                        //商品种类就是购物车中记录的条数
                        lblCategory.Text = dsCart.Tables[0].Rows.Count.ToString();

                        //定义一个总价格
                        decimal dTotalPrice = 0.0m;

                        for (int i = 0; i < dsCart.Tables[0].Rows.Count; i++)
                        {
                            //计算购物车中商品的总价格
                            dTotalPrice = dTotalPrice + (Convert.ToDecimal(dsCart.Tables[0].Rows[i]["SalesPrice"])) * (Convert.ToDecimal(dsCart.Tables[0].Rows[i]["Quantity"]));
                        }

                        //显示总价格
                        lblTotalPrice.Text = dTotalPrice.ToString();
                    }
                    else
                    {
                        //购物车为空
                        lblCategory.Text = "0"; //商品种类
                        lblTotalPrice.Text = "0"; //总价格
                    }
                }
                catch (Exception ex)
                {
                    Response.Redirect("Msg.aspx?msg=" + ex.Message);
                }
            }

            else if (Session["CustomerID"] == null || Session["CustomerID"].ToString() == "CUS-00000000")
            {

                //匿名顾客从临时的Session中取数据
                if (Session["CartList"] == null)
                {
                    //购物车为空
                    lblCategory.Text = "0"; //商品种类
                    lblTotalPrice.Text = "0"; //总价格
                }
                else
                {
                    //获取购物车中的信息
                    DataSet dsCart = (DataSet)Session["CartList"];

                    //商品种类就是购物车中记录的条数
                    lblCategory.Text = dsCart.Tables[0].Rows.Count.ToString();

                    decimal dTotalPrice = 0.0m;

                    for (int i = 0; i < dsCart.Tables[0].Rows.Count; i++)
                    {
                        //计算购物车中商品的总价格
                        dTotalPrice = dTotalPrice + (Convert.ToDecimal(dsCart.Tables[0].Rows[i]["SalesPrice"])) * (Convert.ToDecimal(dsCart.Tables[0].Rows[i]["Quantity"]));
                    }

                    lblTotalPrice.Text = dTotalPrice.ToString();

                }
            }
        }
    }
}
